// 权限管理

// 对路由做守卫--路由的全局前置守卫
// 目标：没有登录，很多页面不能进入

import router from './router'
import store from './store'

// 白名单--不需要登录就能访问的页面
const whiteList = ['/login']
router.beforeEach((to, from, next) => {
  const { token } = store.state
  // 1.如果登录了，不在白名单中的路径可以直接放行
  if (token) {
    if (!whiteList.includes(to.path)) {
      next()
    } else {
      // 3.如果登录了，在白名单中的路径，不跳转，留在原地
      next(false)
    }
  } else {
    // 2.如果没有登录。不在白名单中的路径不放行，强制跳转到登录页面
    if (!whiteList.includes(to.path)) {
      next(`/login?from=${to.path}`)
    } else {
      next()
    }
  }
})
